import decimal


def get_pai(n):
    w = n + 10  # 多计算10位，防止尾数取舍的影响
    b = 10 ** w  # 算到小数点后w位
    x1 = b * 4 // 5  # 求含4/5的首项
    x2 = b // -239  # 求含1/239的首项
    he = x1 + x2  # 求第一大项
    n *= 2  # 设置下面循环的终点，即共计算n项
    pai = 0
    for i in range(3, n, 2):  # 循环初值=3，末值2n,步长=2
        x1 //= -25  # 求每个含1/5的项及符号
        x2 //= -57121  # 求每个含1/239的项及符号
        x = (x1 + x2) // i  # 求两项之和
        he += x  # 求总和
        pai = he * 4  # 求出π
        pai //= 10 ** 10  # 舍掉后十位

    return pai


def ipv6_number():
    return pow(pow(16, 4), 8)


def ipv4_number():
    return pow(256, 4)


def mac_number():
    return pow(pow(16, 2), 6)


# print(ipv6_number())
if __name__ == '__main__':
    print(mac_number())
    print(ipv4_number())
    print(ipv6_number())
